1. Field
This disclosure relates to databases containing computer readable data. More particularly, it concerns a computer implemented, web-page-based system to assist users in designing database driven web applications.
2. Description of Related Art
In today's world, digital data is nearly everywhere. Digital data resides locally in personal computers, palm computers, watches, cell phones, global positioning system (GPS) devices, televisions, and hundreds of other such devices. But having so much data is useless without having a way to organize the data and to interact with the data.
One paradigm for people to interact with digital data is by using pre-designed database-driven web-accessible applications. These are hosted web applications implementing a special purpose process. “Hosted” refers to the fact that the application's code and databases may reside at a host system that is distinct from the users' systems or even from the designers' systems. In this setup, software designers prepare the database structure (such as a database schema) and a web application that enables access to this database. Then they make the web application (and indirectly the underlying database) available online to users or, more generally, communities of users. Users employ web browsers to initiate their own databases, and thereafter to add, delete, and modify data from such databases, as they perform the steps of the special process implemented by the web application. Some examples of this paradigm include Evite, the upcoming Microsoft Office Live, and salesforce.com.
Although the foregoing paradigm enjoys widespread use today, and satisfies certain market niches, there are certain limitations, as follows. Although the data of these applications can be manipulated by users in pre-designed ways, the database structure and the business process captured by the web application are fixed. Therefore, the database structure and the web application only satisfies fixed information and process needs and patterns. This is not a problem if the user's needs are fully captured by the database structure and process of the pre-designed web application.
The disadvantage of pre-designed web applications is that they do not contemplate letting their users customize their own database structures and respective web applications to their needs. This can be frustrating because there are millions of communities whose information exchange and collaboration process needs are not captured by any existing hosted web application. Indeed, many of those communities will likely never be served by a pre-designed hosted web application for the simple reason that they are too small to produce a return on the investment of a hosted web application provider who would be interested to build and market such a hosted web application. One example includes universities organizing their intramural athletic events. A pre-designed web application that can support the events of each university would be fairly complex in order to accommodate the complexity of the process and its many variations from university to university. Furthermore, the customers for such a web application are too few and too unwilling to pay in order to warrant yet another pre-designed hosted web application provider catering to the particular community.
If no hosted web application does the job for a certain community, the community may consider hiring Information Technology professionals to design, develop, and deploy a custom Web application and database, to be used by members of the community to exchange structured data and collaborate. The problem is that many communities that need a customized web application do not have the budget to hire such professionals and therefore they cannot have a web application that is customized to their needs. In other cases, even if there is a sufficient budget, there is not enough time to deploy Information Technology professionals.
If there is no pre-designed database and web application serving a community and no budget to hire an IT specialist to build such, members of the community may attempt to build and host a database and web application themselves. The problem with this option is that such community members must be trained in the database design and web application programming art.
In contrast to the paradigm described above (namely, pre-designed hosted web applications implementing special purpose processes), a different paradigm is the document exchange hosted web application. Many hosted web applications enable their users to post documents, read the documents of other users, and in certain cases even edit the documents produced by other users. For example, Google Docs & Spreadsheets offers its users the ability to post documents or spreadsheets on the web and let other users to read and even edit them. Included in this class are blog providers, which are hosted web applications that enable their users to post documents (blogs) and search and read others' blog entries. Also included in this class are wikis, which are hosted web applications that enable their user communities to collaborate on versioned and interconnected document collections. Another example includes photo sharing sites, such as flickr.com, where the shared documents are images. Still another example includes electronic groups, such as yahoogroups.com, where the members of the group post messages.
Document exchange hosted web applications suffer from limitations in both the (1) type of data exchanged and (2) the implemented collaboration process. Namely, these applications simply use documents of various sorts instead of organized formatting of data along objects with attributes and relationships, as is found in typical database systems.
Also, these applications are limited because the core process by which the community users of such hosted web applications cooperate is essentially a publish/subscribe process, where some class of users is allowed to publish and another class of users (often the set of all Internet users) can read or edit. There are variations on the core publish/subscribe theme, such as introducing a “moderator” class of users or providing versioning features when multiple users may modify a published document. However, for many users, none of these systems allows the collaborating community to implement sufficiently complex process schemes.
The present inventors have sought to identify and address the limitations of database driven applications, and further to develop new uses. One area of focus concerns web-accessible database driven web applications, where remote users are enabled to initiate and design the database and the web application, and the completed database and web application is made web-accessible to ultimate end-users.